home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / archive / qaz_309.arj / XQAZ.BAT < prev   
DOS Batch File  |  1994-03-30  |  5KB  |  272 lines

  1. @echo off
  2.  
  3. rem XQAZ.BAT v1.4 by Robert Rothenburg Walking-Owl
  4. rem (for use with QAZ v3.xx)
  5.  
  6. rem This could use a lot of work, and when used with a more powerful
  7. rem batch language or with external programs written in C or Pascal,
  8. rem you can do some amazing things.
  9.  
  10. if exist xqaz.$$$ erase xqaz.$$$
  11.  
  12. if exist %2 goto archive_exists
  13. echo * Error: file not found (%2)
  14. goto usage
  15.  
  16. :archive_exists
  17. set vcmd=v
  18. set ecmd=e
  19. set tcmd=t
  20. set scmd=s
  21. set cmd=%1
  22. if %cmd% == %vcmd%  goto view_archive
  23. if %cmd% == %ecmd% goto identify
  24. if %cmd% == %tcmd% goto identify
  25. if %cmd% == %scmd% goto identify
  26. echo * Error: unrecognized command (%cmd%)
  27. goto usage
  28.  
  29. :view_archive
  30. qaz %2 -cm42 -cl61 -wl79 -dfs0  -sr2 -ls -vn+22oar_dts -ffb > xqaz.$$$
  31. goto done
  32.  
  33. rem possible modifications are to add the -r option, and if the archive
  34. rem turns out to be a format which QAZ cannot list (such as UC2), then
  35. rem to call the appropriate viewing function instead (UC2 V %2 %3).
  36.  
  37. :identify
  38. qaz %2 -ri -mi -ff -cm42 > xqaz.$$$
  39. if not %cmd% == %scmd% goto check
  40. set scmd=%tcmd%
  41. set cmd=%ecmd%
  42.  
  43. :check
  44. if errorlevel 128 goto graphics
  45. if errorlevel 67 goto xundef
  46. if errorlevel 66 goto xunmd
  47. if errorlevel 65 goto xunshrink
  48. if errorlevel 64 goto xundef
  49. if errorlevel 63 goto xlim
  50. if errorlevel 59 goto xundef
  51. if errorlevel 58 goto xbinhex
  52. if errorlevel 57 goto xlharc
  53. if errorlevel 56 goto xundef
  54. if errorlevel 55 goto xcodec
  55. if errorlevel 54 goto xundef
  56. if errorlevel 53 goto xtar
  57. if errorlevel 52 goto xproprietary
  58. if errorlevel 51 goto xzoo
  59. if errorlevel 50 goto xzip
  60. if errorlevel 49 goto xusq
  61. if errorlevel 48 goto xuc2
  62. if errorlevel 47 goto xsqz
  63. if errorlevel 46 goto xsit
  64. if errorlevel 45 goto xundef
  65. if errorlevel 44 goto xproprietary
  66. if errorlevel 43 goto xlharc
  67. if errorlevel 42 goto xundef
  68. if errorlevel 41 goto xundef
  69. if errorlevel 40 goto xpak
  70. if errorlevel 39 goto xlharc
  71. if errorlevel 38 goto xproprietary
  72. if errorlevel 37 goto xundef
  73. if errorlevel 36 goto xlib
  74. if errorlevel 35 goto xundef
  75. if errorlevel 34 goto xproprietary
  76. if errorlevel 33 goto xwin
  77. if errorlevel 32 goto xhpack
  78. if errorlevel 31 goto xhyp
  79. if errorlevel 30 goto xhap
  80. if errorlevel 29 goto xha
  81. if errorlevel 28 goto xgz
  82. if errorlevel 27 goto xfrz
  83. if errorlevel 26 goto xmsc
  84. if errorlevel 25 goto xdwc
  85. if errorlevel 24 goto xdiet
  86. if errorlevel 23 goto xundef
  87. if errorlevel 22 goto xundef
  88. if errorlevel 21 goto xgz
  89. if errorlevel 20 goto xarj
  90. if errorlevel 19 goto xark
  91. if errorlevel 18 goto xundef
  92. if errorlevel 17 goto xlharc
  93. if errorlevel 16 goto xtext
  94. if errorlevel 15 goto xundef
  95. if errorlevel  1 echo * An error has occurred! >> xqaz.$$$
  96. echo * Unable to identify the archive format.
  97. goto exit
  98.  
  99. :xunmd
  100. if %cmd%==%tcmd% goto untestable
  101. mdcd r %2 . >> xqaz.$$$
  102. goto done
  103.  
  104. :xunshrink
  105. if %cmd%==%scmd% goto untestable
  106. if %cmd%==%tcmd% nulib iv %2 >> xqaz.$$$
  107. if %cmd%==%ecmd% nulib xv %2 >> xqaz.$$$
  108. goto done
  109.  
  110. :xbinhex
  111. if %cmd%==%scmd% goto untestable
  112. if %cmd%==%tcmd% xbin -l %2 >> xqaz.$$$
  113. xbin %2 >> xqaz.$$$
  114. goto done
  115.  
  116. :xtext
  117. type %2 >> xqaz.$$$
  118. goto done
  119.  
  120. :xundef
  121. echo * Don't know how to process this format! >> xqaz.$$$
  122. goto done
  123.  
  124. :xproprietary
  125. echo * Proprietary format. >> xqaz.$$$
  126. goto xundef
  127.  
  128. :untestable
  129. echo * Testing is not supported by this format. >> xqaz.$$$
  130. goto done
  131.  
  132. :xwin
  133. echo * The archiver for this format requires Windows. >> xqaz.$$$
  134. goto done
  135.  
  136. :xlim
  137. limit %cmd% %2 %3 >> xqaz.$$$
  138. goto done
  139.  
  140. :xark
  141. arc -%cmd% %2 %3 >> xqaz.$$$
  142. goto done
  143.  
  144. :xarj
  145. arj %cmd% %2 %3 >> xqaz.$$$
  146. goto done
  147.  
  148. :xdiet
  149. if %cmd%==%tcmd% goto untestable
  150. diet -ra %2
  151. goto done
  152.  
  153. :xdwc
  154. dwc -%cmd% %2 %3 >> xqaz.$$$
  155. goto done
  156.  
  157. :xmsc
  158. expand %2
  159. goto done
  160.  
  161. :xfrz
  162. if %cmd%==%tcmd% goto untestable
  163. freeze -%cmd%v %2 >> xqaz.$$$
  164. goto done
  165.  
  166. :xgz
  167. gzip -%cmd%v %2 >> xqaz.$$$
  168. goto done
  169.  
  170. :xha
  171. ha %cmd% %2 %3 >> xqaz.$$$
  172. goto done
  173.  
  174. :xhap
  175. if %cmd%==%tcmd% goto untestable
  176. pah e %2 %3 
  177. goto done
  178.  
  179. :xhyp
  180. if %cmd%==%tcmd% goto untestable
  181. hyper -x %2 %3 >> xqaz.$$$
  182. goto done
  183.  
  184. :xhpack
  185. if %cmd%==%tcmd% goto hpskip
  186. hpack x %2 %3 >> xqaz.$$$
  187. goto done
  188. :hpskip
  189. hpack %cmd% %2 %3 >> xqaz.$$$
  190. goto done
  191.  
  192. :xlib
  193. if %cmd%==%tcmd% goto untestable
  194. lu %cmd% %2 %3 >> xqaz.$$$
  195. goto done
  196.  
  197. :xpak
  198. pak %cmd% %2 3 >> xqaz.$$$
  199. goto done
  200.  
  201. :xsit
  202. unsit %cmd% %2 >> xqaz.$$$
  203. goto done
  204.  
  205. :xsqz
  206. rem doesn't redirect well
  207. sqz %cmd% %2 %3
  208. goto done
  209.  
  210. :xuc2
  211. rem * I don't have a copy of UC.EXE handy...
  212. goto xundef
  213.  
  214. :xusq
  215. if %cmd%==%tcmd% goto untestable
  216. usq %2 >> xqaz.$$$
  217. goto done
  218.  
  219. :xlharc
  220. lha %cmd% %2 %3 >> xqaz.$$$
  221. goto done   
  222.  
  223. :xcodec
  224. if %cmd%==%tcmd% goto tcodec
  225. codec -db %2 %3 >> xqaz.$$$
  226. goto done
  227. :tcodec
  228. codec -x %2 %3 >> xqaz.$$$  
  229. goto done
  230.  
  231. :xtar
  232. if %cmd%==%tcmd% goto untestable
  233. rem doesn't redirect well
  234. tar -xvf %2 %3
  235. goto done
  236.  
  237. :xzoo
  238. zoo -%cmd% %2 %3 >> xqaz.$$$
  239. goto done
  240.  
  241. :xzip
  242. pkunzip -%cmd% %2 %3 >> xqaz.$$$
  243. goto done
  244.  
  245. :graphics
  246. echo * QAZ v2.60a and later versions do not handle graphics files.
  247. goto exit
  248.  
  249. :usage
  250. echo Usage: xqaz [v,e,t,s] archive [datafile]
  251. echo  
  252. goto exit
  253.  
  254. :done
  255. if errorlevel 1 echo * An error occurred >> xqaz.$$$
  256. if not %scmd% == %tcmd% goto show
  257.  
  258. :vscan
  259. scan *.* /a /nomem >> xqaz.$$$
  260. rem insert favorite virus scanners here
  261.  
  262. :show
  263. more < xqaz.$$$
  264.  
  265. :exit
  266. set vcmd=
  267. set tcmd=
  268. set ecmd=
  269. set scmd=
  270. if exist xqaz.$$$ erase xqaz.$$$
  271.  
  272.